<script setup lang="ts">
// import RoleList from '@/views/sys/system/role/list/index.vue'
// import RoleEdit from '@/views/sys/system/role/edit/index.vue'
// import RoleAdd from '@/views/sys/system/role/add/index.vue'
// import {ResetPasswordType, UserFormType, UserPageInfoType, UserTableType} from "@/api/user/types";
// import {RoleTableType} from "@/api/role/types";
// import {getUserByIdApi, getUserListApi} from "@/api/user";
// import {getRolesApi} from "@/api/role";
// import {AnyKeyValue, CommonAddFormType, CommonPageInfoType, CommonTableData, PromiseApi} from "@/api/test/types";
//
//
// /**
//  * table相关
//  */
//     // table数据
// let tableData: Ref<UserTableType[]> = ref([])
// // 总数
// const total = ref(0)
// // 分页信息,以及查询条件,用于发送api
// const queryData: CommonPageInfoType = reactive({
//   pageSize: 10,
//   currentPage: 1,
//   status: -1,
// })
// /**
//  * 密码相关
//  */
//     // 修改密码弹出框可见
// const dialogRePasswordVisible = ref(false)
//
// // 重置密码表单
// const rePasswordForm: ResetPasswordType = reactive({})
// /**
//  * 编辑相关
//  */
//     // 弹出框:编辑
// const editVisible = ref(false)
//
// // 编辑的表单数据
// const editForm: Ref<UserFormType> = ref({})
//
// // 角色选择options
// let roleOptions: Ref<RoleTableType[]> = ref([])
//
// /**
//  * 添加相关
//  */
//     // 弹出框:编辑
// const addVisible = ref(false)
//
// // 添加的表单数据
// const addForm: Ref<CommonAddFormType> = ref({})
//
//
// /**
//  * 方法相关
//  */
// // 设置编辑对话框可见
// function setEditVisible(bolValue: boolean) {
//   editVisible.value = bolValue
// }
//
// // 设置打开或者关闭修改密码框
// function setRePasswordVisible(bolValue: boolean) {
//   dialogRePasswordVisible.value = bolValue
// }
//
// // 设置编辑对话框可见
// function setAddVisible(bolValue: boolean) {
//   addVisible.value = bolValue
// }
//
// /**
//  * 获取列表
//  */
// async function getList() {
//   const result = await getUserListApi(queryData)
//   total.value = result.count
//   tableData.value = result.rows
// }
//
// // 格式化性别
// function formatGender(row: any, column: any, value: number) {
//   if (value === 1) {
//     return '男'
//   } else if (value === 2) {
//     return '女'
//   } else {
//     return '未知'
//   }
// }
//
// // 格式化性别
// function formatStatus(row: any, column: any, value: number) {
//   if (value === 1) {
//     return '正常'
//   } else if (value === 0) {
//     return '禁用'
//   }
//   return '异常'
// }
//
//
// // 打开重置密码
// function resetPassword(row: UserTableType) {
//   dialogRePasswordVisible.value = true
//   rePasswordForm.id = row.id
//   rePasswordForm.password = ''
//   rePasswordForm.rePassword = ''
// }
//
// // 打开 编辑
// async function openEdit(row: UserTableType) {
//   // 编辑的时候,获取所有的角色
//   editForm.value = await getUserByIdApi(row.id)
//   roleOptions.value = await getRolesApi();
//   editVisible.value = true
// }
//
// // 打开 添加
// async function openAdd() {
//   // 编辑的时候,获取所有的角色
//   addForm.value = {
//     username: '',
//     password: '',
//     nickname: '',
//     gender: 1,
//     email: '',
//     roleIds: [],
//     status: 1,
//   }
//   roleOptions.value = await getRolesApi();
//   addVisible.value = true
// }
//
// // table排序
// async function sortTable({column, prop, order}: {
//   column: any,
//   prop: string,
//   order: 'descending' | 'ascending' | null
// }) {
//   if (order === 'descending' || !order) {
//     queryData.order = {key: prop, value: 'desc'}
//   } else {
//     queryData.order = {key: prop, value: 'asc'}
//   }
//   await getList()
// }
//
// const props = defineProps<
//     {
//       api: {
//         addApi: PromiseApi,
//         deleteApi: PromiseApi<number>,
//         updateApi: PromiseApi,
//         listApi: PromiseApi,
//         getIdApi: PromiseApi,
//       },
//       tableData: CommonTableData,
//       // 菜单栏标题,比如用户
//       title: string,
//       queryData: CommonPageInfoType
//     }
// >()
//
//
// // 提供给后面的组件使用
// provide('getList', props.api.listApi)
// provide('queryData', queryData)
//
// watch([() => queryData.pageSize, () => queryData.currentPage], async () => {
//   await props.api.listApi()
// })
// onMounted(async () => {
//   await props.api.listApi()
// })

</script>
<template>
  <!--  &lt;!&ndash;  角色list: 搜索+列表+分页+重置密码&ndash;&gt;-->
  <!--  <RoleList addApi="addApi" deleteApi="deleteApi" listApi="listApi"/>-->
  <!--  &lt;!&ndash; 角色编辑对话框:编辑角色 &ndash;&gt;-->
  <!--  <RoleEdit/>-->
  <!--  &lt;!&ndash; 角色添加对话框:添加角色 &ndash;&gt;-->
  <!--  <RoleAdd/>-->
  <h1>测试页面</h1>
</template>

<style scoped>
</style>